]>
Commit | Line | Data |
---|---|---|
1 | using System; | |
2 | using System.Collections.Generic; | |
3 | using System.Linq; | |
4 | using System.Text; | |
5 | using Microsoft.Xna.Framework; | |
6 | using Microsoft.Xna.Framework.Graphics; | |
7 | using Microsoft.Xna.Framework.Content; | |
8 | ||
9 | namespace SuperPolarity | |
10 | { | |
11 | static class ActorFactory | |
12 | { | |
13 | static internal SuperPolarity Game; | |
14 | ||
15 | static public MainShip CreateMainShip(Vector2 position) | |
16 | { | |
17 | MainShip mainShip = new MainShip(Game); | |
18 | mainShip.Initialize(Game.Content.Load<Texture2D>("Graphics\\main-ship"), position); | |
19 | ||
20 | ActorManager.CheckIn(mainShip); | |
21 | ||
22 | return mainShip; | |
23 | } | |
24 | ||
25 | static public StandardShip CreateShip(Ship.Polarity polarity, Vector2 position) | |
26 | { | |
27 | StandardShip ship = new StandardShip(Game); | |
28 | Texture2D texture; | |
29 | ||
30 | if (polarity == Ship.Polarity.Positive) | |
31 | { | |
32 | texture = Game.Content.Load<Texture2D>("Graphics\\positive-ship"); | |
33 | } | |
34 | else if (polarity == Ship.Polarity.Negative) | |
35 | { | |
36 | texture = Game.Content.Load<Texture2D>("Graphics\\negative-ship"); | |
37 | } | |
38 | else | |
39 | { | |
40 | texture = Game.Content.Load<Texture2D>("Graphics\\neutral-ship"); | |
41 | } | |
42 | ||
43 | ship.Initialize(texture, position); | |
44 | ship.SetPolarity(polarity); | |
45 | ||
46 | ActorManager.CheckIn(ship); | |
47 | ||
48 | return ship; | |
49 | } | |
50 | ||
51 | internal static void SetGame(SuperPolarity game) | |
52 | { | |
53 | ActorFactory.Game = game; | |
54 | } | |
55 | ||
56 | internal static Bullet CreateBullet(Vector2 position, float angle) | |
57 | { | |
58 | Bullet bullet = new Bullet(Game); | |
59 | ||
60 | bullet.Initialize(Game.Content.Load<Texture2D>("Graphics\\square"), position); | |
61 | ||
62 | bullet.Angle = angle; | |
63 | ||
64 | ActorManager.CheckIn(bullet); | |
65 | ||
66 | return bullet; | |
67 | } | |
68 | } | |
69 | } |